Previous approaches to build context between two disconnected applications typically have required human interaction and/or the development of costly integration code. For example, in some prior approaches a contextual relationship has been established between a primary application and a companion application by having a human user rekey information from one screen into another. The user was required to remember which companion application was appropriate, understand which data was relevant to establish meaningful context between the applications, and re-enter the data without error. In many cases, this approach required substantial cost to educate users, as well as introduced a significant level of discontent among users. Additionally, the cost of making a mistake, as well as the potential regulatory risk of a mistake, could be high.
In other approaches, context between disconnected applications has been established by creating custom programmatic integrations between the applications. These typically are rigid integrations that must be developed for every pair of applications and application versions. In addition to the time and cost of writing these integrations, every time one of the two applications change the company typically must regression test both applications. This is a considerable expense and delays upgrades of all affected systems.
Several vendors offer programs that are capable of extracting data from screens and passing that information to another application. These interfaces use a script driven approach that store the configurations on the users' desktops—potentially creating a training and quality of work issue. Additionally, this method introduces a separate install onto the client machine as well as the need for client configurations to exist. Finally, the relationship between the calling application and the companion application is not maintained in a central area. Changes to any of the applications require widespread distribution of those changes.